module gen_tables; import std.stdio; import std.math; import std.conv:to; enum PRECISION = 256; enum MAX_PER_LINE = 10; void main() { string data = "immutable float["~to!string(PRECISION)~"] sineTable = [\n\t"; int i = 0; for(float v = 0; v < PI_2; v+= PI_2 / (PRECISION - 1)) { if(i != 0) data~=", "; data~= sin(v).to!string~"f"; if(++i == MAX_PER_LINE) { data~= ",\n\t"; i = 0; } } data~= ", 1.0f\n];"; writeln = data; }